Video Communication over the Internet or wireless networks is prone to severe video quality degradation because of the best effort delivery of user datagram protocol (UDP) packets and the unsuitability of transmission control protocol (TCP) transmission for delay sensitive communication applications. Typical video communication systems use predictive video coders to achieve compression. Because of temporal prediction in these coders, the errors caused due to packet loss in a particular decoded video frame propagate through the motion compensated prediction loop and cause substantial degradation in video quality of even correctly received future video frames. Thus, good video quality of service (QoS) over these networks requires error resilience mechanisms.
Such Low-latency video communication over the Internet requires packet loss resilience in the video coder. Periodic intra-frame coding is not suited in such cases and progressive intra refresh (IR) is commonly employed. Intra update of macroblocks (MBs) provides error resilience (ER) by breaking the prediction dependency chain and controlling error propagation (EP) through the video stream, but leads to a drop in coding efficiency (CE) because of inefficient prediction.
Intra-refresh strategies have to select the MBs to be refreshed in a particular frame with the goal of minimizing the end-to-end distortion. Typically, channel and content adaptive refresh mechanisms are more efficient than methods using random intra update. Many of the state-of-the-art algorithms for error-resilient video coding using rate distortion optimized mode selection techniques have been proposed earlier.
Commonly used methods for providing error resilience in video coders through intra macroblock (MB) update can be broadly classified into two categories. One method being, an error robust rate distortion optimization (ER-RDO) method has been developed in the standard test model, such as H.264, for video coding in packet loss environment. The decoder state is computed as the average over K decoder instances each decoding a statistically packet-loss injected stream. Typically, low-complexity implementations for tracking the decoder channel distortion at the encoder side have been proposed. Main drawback of all these methods using RD-optimized MB mode selection is that they do not allow for any further analysis for frame-level optimization and completely rely on statistically estimated channel distortion to do coding mode selection. Also, the low-latency frame level bits constraint can result in the MB-level rate control skewing the quantizer selection (QP) selection over the frame that can result in sub-optimal refresh and non-uniform spatial quality.
The other method being, explicit intra-refresh based methods are still attractive as they can enable low-complexity implementations and also allow for frame-level optimization. While many methods for selection of refresh MBs have been proposed, the problem of setting the optimal intra-refresh rate in real-time applications has not been addressed comprehensively.
Other features of the present embodiments will be apparent from the accompanying drawings and from the detailed description that follows.